package com.ap.core.domain;

import org.hibernate.annotations.Type;
import org.joda.time.LocalDate;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;

/**
 * User: Ranjit.Singh
 */
@MappedSuperclass
public class BaseDeliveryAddress extends Identifiable<Long> {


	private static final long serialVersionUID = -8014284968814978277L;

	@Column(name = "ADDRESS_LINE1")
    private String addressLine1;

    @Column(name = "ADDRESS_LINE2")
    private String addressLine2;

    @Column(name = "ADDRESS_LINE3")
    private String addressLine3;

    @Column(name = "ADDRESS_LINE4")
    private String addressLine4;

    @Column(name = "ADDRESS_LINE5")
    private String addressLine5;

    @Column(name = "ADDRESS_LINE6")
    private String addressLine6;

    @Column(name = "POST_CODE")
    private String postCode;

    @Column(name = "COUNTRY_CODE")
    private String countryCode;

    @Column(name = "reconciliation_cycle_id")
    private String  reconciliationCycleId;

    @Column(name = "reconciliation_date")
    @Type(type = "org.jadira.usertype.dateandtime.joda.PersistentLocalDate")
    private LocalDate reconciliationDate;

    protected BaseDeliveryAddress(){

    }

    public BaseDeliveryAddress(Long deliveryMethodId, String addressLine1, String addressLine2,
                               String addressLine3, String addressLine4, String addressLine5, String addressLine6,
                               String postCode, String countryCode, String reconciliationCycleId, LocalDate reconciliationDate) {
		 this.id = deliveryMethodId;
		 this.addressLine1 = addressLine1;
		 this.addressLine2 = addressLine2;
		 this.addressLine3 = addressLine3;
		 this.addressLine4 = addressLine4;
		 this.addressLine5 = addressLine5;
		 this.addressLine6 = addressLine6;
		 this.postCode = postCode;
		 this.countryCode = countryCode;
         this.reconciliationCycleId = reconciliationCycleId;
         this.reconciliationDate = reconciliationDate;
		}




	public String getAddressLine1() {
		return addressLine1;
	}


	public void setAddressLine1(String addressLine1) {
		this.addressLine1 = addressLine1;
	}


	public String getAddressLine2() {
		return addressLine2;
	}

	public void setAddressLine2(String addressLine2) {
		this.addressLine2 = addressLine2;
	}


	public String getAddressLine3() {
		return addressLine3;
	}


	public void setAddressLine3(String addressLine3) {
		this.addressLine3 = addressLine3;
	}


	public String getAddressLine4() {
		return addressLine4;
	}


	public void setAddressLine4(String addressLine4) {
		this.addressLine4 = addressLine4;
	}


	public String getAddressLine5() {
		return addressLine5;
	}


	public void setAddressLine5(String addressLine5) {
		this.addressLine5 = addressLine5;
	}


	public String getAddressLine6() {
		return addressLine6;
	}


	public void setAddressLine6(String addressLine6) {
		this.addressLine6 = addressLine6;
	}


	public String getPostCode() {
		return postCode;
	}


	public void setPostCode(String postCode) {
		this.postCode = postCode;
	}


	public String getCountryCode() {
		return countryCode;
	}


	public void setCountryCode(String countryCode) {
		this.countryCode = countryCode;
	}

}
